package main

// 传参是int
type Hello int

// 括号里放原来的类扩展方法
func (c *Hello) Hi(h Hello) error {
	return nil
}

// 方法区别于以上
func Hi() {
	//
	print("hi")
}

// 接口定义？
type (
	Abc func(string) string
	Fff func(int) Abc
)

type HHH interface {
	h1(string) error
	h2(int) error
}

func (a Abc) hello(x string) string {
	return "3213"
}

func (hello *Hello) Abc(x string) string {
	hello.Hi(Hello(1))
	return "123"
}

func TestAbcFunc() Abc {
	return func(s string) string {
		return "1"
	}
}

func main() {
	h := Hello(1)
	h.Hi(h)
	Hi()

	// 函数赋值
	abc := func(x string) string {
		return "123"
	}
	print(abc("123"))

	// 函数接口定义
	hello := Hello(2)
	hello.Abc("123")

}
